home *** CD-ROM | disk | FTP | other *** search
Wrap
10 COLOR 15,0 : CLS : KEY OFF 20 LOCATE 1,1,0 : PRINT "Voorbeeld 1 voor het gebruik van subroutine BASICINV.SUB in een BASIC-programma"; 30 COLOR 7,0 40 GETAL1$=" 0" : GETAL2$=" 0" : GETAL3$=" 0" 50 LOCATE 5,30,0 : PRINT "Eerste getal"; 60 LOCATE 7,30,0 : PRINT "Tweede getal"; 70 LOCATE 9,30,0 : PRINT "Derde getal "; 80 COLOR 0,4 90 LOCATE 5,43,0 : PRINT GETAL1$; 100 LOCATE 7,43,0 : PRINT GETAL2$; 110 LOCATE 9,43,0 : PRINT GETAL3$; 120 COLOR 7,0 : LOCATE 14,21,0 : PRINT "De som van deze drie getallen is:"; 130 COLOR 15,0 : LOCATE 14,54,0 : PRINT USING "#####";VAL(GETAL1$)+VAL(GETAL2$)+VAL(GETAL3$); 140 COLOR 7,0 : LOCATE 23,19,0 : PRINT "Programma afbreken door 9999 in te voeren!"; 150 WHILE 0=0 160 RIJ%=5 : KOLOM%=43 : LENGTE%=4 : TEKST$=GETAL1$ : KLEUR1%=0 : KLEUR2%=4 170 GOSUB 60000 180 GETAL1$ = MID$(STR$(INT(VAL(TEKST$))),2,4) 190 IF LEN(GETAL1$)<4 THEN GETAL1$=SPACE$(4-LEN(GETAL1$))+GETAL1$ 200 COLOR 0,4 : LOCATE 5,43,0 : PRINT GETAL1$; 210 COLOR 15,0 : LOCATE 14,54,0 : PRINT USING "#####";VAL(GETAL1$)+VAL(GETAL2$)+VAL(GETAL3$); 220 IF VAL(GETAL1$) = 9999 THEN END 230 RIJ%=7 : KOLOM%=43 : LENGTE%=4 : TEKST$=GETAL2$ : KLEUR1%=0 : KLEUR2%=4 240 GOSUB 60000 250 GETAL2$ = MID$(STR$(INT(VAL(TEKST$))),2,4) 260 IF LEN(GETAL2$)<4 THEN GETAL2$=SPACE$(4-LEN(GETAL2$))+GETAL2$ 270 COLOR 0,4 : LOCATE 7,43,0 : PRINT GETAL2$; 280 COLOR 15,0 : LOCATE 14,54,0 : PRINT USING "#####";VAL(GETAL1$)+VAL(GETAL2$)+VAL(GETAL3$); 290 IF VAL(GETAL2$) = 9999 THEN END 300 RIJ%=9 : KOLOM%=43 : LENGTE%=4 : TEKST$=GETAL3$ : KLEUR1%=0 : KLEUR2%=4 310 GOSUB 60000 320 GETAL3$ = MID$(STR$(INT(VAL(TEKST$))),2,4) 330 IF LEN(GETAL3$)<4 THEN GETAL3$=SPACE$(4-LEN(GETAL3$))+GETAL3$ 340 COLOR 0,4 : LOCATE 9,43,0 : PRINT GETAL3$; 350 COLOR 15,0 : LOCATE 14,54,0 : PRINT USING "#####";VAL(GETAL1$)+VAL(GETAL2$)+VAL(GETAL3$); 360 IF VAL(GETAL3$) = 9999 THEN END 370 WEND 60000 'Subroutine Invoer 60001 'Variabelen: Rij% : Rij invoerveld (Default 1) 60002 ' Kolom% : Kolom 1e positie invoerveld (Default 1) 60003 ' Lengte% : Lengte invoerveld (Default 10) 60004 ' Tekst$ : Invoer/uitvoer invoerveld (Default spaties) 60005 ' Kleur1% : Kleur letters invoerveld (Default 0) 60006 ' Kleur2% : Kleur achtergrond invoerveld (Default 7) 60007 'Intern gebruikte variabelen: Insert%, Cursor%, EindeInvoer%, Toets%, Veranderd% 60010 IF RIJ%<1 OR RIJ%>24 THEN RIJ%=1 60020 IF KOLOM%<1 OR KOLOM%>80 THEN KOLOM%=1 60030 IF LENGTE%<1 OR LENGTE%>80 THEN LENGTE%=10 60040 IF KLEUR1%=0 AND KLEUR2%=0 THEN KLEUR2%=7 60050 INSERT% = 0 60060 WHILE LEN(TEKST$) < LENGTE% : TEKST$ = TEKST$ + " " : WEND 60070 CURSOR% = 1 60080 COLOR KLEUR1%,KLEUR2% 60090 LOCATE RIJ%,KOLOM%,0 : PRINT TEKST$; 60100 LOCATE RIJ%,KOLOM%+CURSOR%-1,1 60110 EINDEINVOER% = 0 60120 WHILE EINDEINVOER% = 0 60130 VERANDERD% = 0 60140 TOETS$="" : WHILE TOETS$="" : TOETS$=INKEY$ : WEND : IF LEN(TOETS$)=1 THEN WAARDE%=ASC(TOETS$) ELSE WAARDE%=-ASC(RIGHT$(TOETS$,1)) 60150 IF WAARDE%=13 THEN EINDEINVOER%=1 'Cr 60160 IF WAARDE%=27 THEN TEKST$=" " : CURSOR%=1 : VERANDERD%=1 60170 IF WAARDE%=-82 THEN IF INSERT%=0 THEN INSERT%=1 ELSE INSERT%=0 'Ins 60180 IF WAARDE%=-71 THEN CURSOR%=1 'Home 60190 IF WAARDE%=-79 THEN CURSOR%=LENGTE% : WHILE CURSOR%>0 AND MID$(TEKST$,CURSOR%,1)=" " : CURSOR%=CURSOR%-1 : WEND : IF CURSOR%<LENGTE% THEN CURSOR%=CURSOR%+1 'end 60200 IF WAARDE%=-75 THEN IF CURSOR%>1 THEN CURSOR%=CURSOR%-1 'Left 60210 IF WAARDE%=-77 THEN IF CURSOR% < LENGTE% THEN CURSOR%=CURSOR%+1 'Right 60220 IF WAARDE%=-83 THEN TEKST$ = LEFT$(TEKST$,CURSOR%-1) + MID$(TEKST$,CURSOR%+1) : VERANDERD%=1 'Del 60230 IF WAARDE%=8 THEN IF CURSOR% > 1 THEN TEKST$ = LEFT$(TEKST$,CURSOR%-2) + MID$(TEKST$,CURSOR%) : CURSOR%=CURSOR%-1 : VERANDERD%=1 'Backspace 60240 IF WAARDE%<32 THEN 60340 60250 IF INSERT%=0 THEN 60300 60260 TEKST$ = LEFT$(TEKST$,CURSOR%-1) + CHR$(WAARDE%) + MID$(TEKST$,CURSOR%) 60270 TEKST$ = LEFT$(TEKST$,LENGTE%) 60280 IF CURSOR% < LENGTE% THEN CURSOR%=CURSOR%+1 60290 GOTO 60330 60300 'Insert%=0 60310 MID$(TEKST$,CURSOR%,1) = CHR$(WAARDE%) 60320 IF CURSOR% < LENGTE% THEN CURSOR%=CURSOR%+1 60330 VERANDERD%=1 60340 IF VERANDERD%=1 THEN WHILE LEN(TEKST$) < LENGTE% : TEKST$ = TEKST$ + " " : WEND : LOCATE RIJ%,KOLOM%,0 : PRINT TEKST$; 60350 LOCATE RIJ%,KOLOM%+CURSOR%-1,1 60360 WEND 60370 WHILE LEN(TEKST$) < LENGTE% 60380 TEKST$ = TEKST$ + " " 60390 WEND 60399 RETURN